package com.example.service;

import cn.hutool.core.util.ObjectUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.dao.XueyuanInfoDao;
import com.example.entity.XueYuanInfo;
import com.example.exception.CustomException;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author 涛某
 * @version 1.0
 * @date 2024/3/24 11:52
 */
@Service
public class XueyuanInfoService {
    @Autowired
    private XueyuanInfoDao xueyuanInfoDao;

    public List<XueYuanInfo> findAll() {
        return xueyuanInfoDao.findAll();
    }

    public void add(XueYuanInfo xueYuanInfo) {
       XueYuanInfo info =  xueyuanInfoDao.findByName(xueYuanInfo.getName());
       if (ObjectUtil.isNotEmpty(info)){
           throw new CustomException("-1","该学院名称已经存在");
       }
        xueyuanInfoDao.add(xueYuanInfo);

    }

    public void update(XueYuanInfo xueYuanInfo) {
        xueyuanInfoDao.update(xueYuanInfo);
    }

    public void deleteById(Long id) {
        xueyuanInfoDao.deleteById(id);
    }


    public PageInfo<XueYuanInfo> findPage(Integer pageNum, Integer pageSize) {
        PageHelper.startPage(pageNum,pageSize);
        List<XueYuanInfo> info = xueyuanInfoDao.selectAll();
        return PageInfo.of(info);

    }

    public PageInfo<XueYuanInfo> findPageByName( String name,Integer pageNum, Integer pageSize) {
        PageHelper.startPage(pageNum,pageSize);
        List<XueYuanInfo> info =  xueyuanInfoDao.findPageByname(name);
        return PageInfo.of(info);
    }
}
